#pragma once

//
// This class represents the device "DEVICE".  Its not
// a real sensor.
//
class CSensorDevice : public CSensor
{
public:
	CSensorDevice(void);
	virtual ~CSensorDevice(void);

	//
	// Initialize this sensor.
	//
	virtual HRESULT Init(IWDFDevice *pDevice, CSensorDDI *pSensorDDI);

	//
	// Getters for accelerometer sensor properties.
	//
	virtual wstring GetId() const;						// retrieve sensor id
	virtual wstring GetName() const;					// retrieve name of the sensor
	virtual wstring GetParentId() const;				// retrieve parent object id
	virtual GUID GetFunctionalObjectCategory() const;	// retrieve functional object category

	//
	// override state change notification and do nothing
	//
	virtual void OnStateChange(SensorState, SensorState);
};
